iT邦幫忙

2026 iThome 鐵人賽

DAY 2
0
Security

從 Detect 到 Proof:智慧合約審計工具實戰系列 第 2

Day 2|智慧合約漏洞怎麼分類?

  • 分享至 

  • xImage
  •  

上一篇提到,這個系列會先聚焦 EVM 智慧合約。但馬上遇到另一個問題:同一種安全問題,在不同網站上可能有不同名稱;有些文件列的是弱點類型,有些整理的是具體漏洞,還有一些列的是安全要求。

智慧合約的弱點與漏洞,目前沒有一套完全統一的分類方式。不過入門要了解常見的問題與類型,可以參考下面幾個網站。

這篇先固定兩個詞的用法:弱點(weakness)是可能導致漏洞的缺陷類型;漏洞(vulnerability)則是某個具體系統裡可以被利用並造成影響的弱點實例。

SWC(Smart Contract Weakness Classification):智慧合約世界的 CWE

在傳統軟體資安裡,CWE(Common Weakness Enumeration)會替常見的軟體弱點分類和編號。SWC 想在智慧合約領域做類似的事:它沿用一部分 CWE 的術語與結構,再加入智慧合約特有的弱點。例如可能導致重入攻擊的重入弱點被編為 SWC-107,並對應到較廣義的 CWE-841。

這套共同編號讓文章、工具和審計報告比較容易互相對照。不過 SWC 官方已經註明,它在 2020 年後沒有被顯著更新,也不再積極維護,可能有缺漏。因此它適合用來讀歷史資料和對照,卻不適合單獨當成現在的安全標準。

SCWE(Smart Contract Weakness Enumeration):弱點列舉

OWASP Smart Contract Security 專案裡,SCWE 負責替智慧合約弱點分類和編號。它主要用來表示「這個弱點叫什麼」,用途和 SWC 比較接近,但目前仍持續維護。

SCSVS、SCSTG:智慧合約的驗證與測試

SCSVS(Smart Contract Security Verification Standard)定義智慧合約應該滿足的安全要求,另外還有 SCSTG(Smart Contract Security Testing Guide),說明這些要求可以怎麼測試。

OWASP Smart Contract Top 10:十大漏洞列表

OWASP Smart Contract Top 10,簡稱 OWASP SC Top 10,是幾乎每年都會出的一份風險認知文件。2026 的版本根據從業者調查與 2025 年事件資料,整理 Access Control、Business Logic、Oracle、Flash Loan、Reentrancy 和 Upgradeability 等十類重要風險。

適合快速建立全貌和優先順序,但不是完整的弱點目錄。

OpenSCV:把不同分類接在一起

OpenSCV 是一套開放、階層式的智慧合約安全問題分類。它的正式名稱使用 Vulnerabilities,但內容主要整理可重複出現的缺陷類型,並對照 SWC、DASP、CWE 與常見同義詞。

它對研究和整理案例很有用,因為同一個問題不會只剩下一個扁平標籤,也能看見不同分類之間的關係。不過它主要解決的是「這類問題應該放在哪裡」,不是告訴審計人員每一項要怎麼驗證。

後面的文章會保留 SWC 來讀舊資料,以 SCWE 對齊弱點名稱,用 OWASP Top 10 建立大方向,再用 OpenSCV 查看分類之間的關係。下一篇先處理 Finding、Counterexample 和 Proof:它們看起來都像答案,但能支持的結論其實不一樣。

參考資料


上一篇
Day 1|你的鏈上資產安全嗎?
下一篇
Day 3|工具與資料集
系列文
從 Detect 到 Proof:智慧合約審計工具實戰9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言